package com.shuwen.gcdj.service.dictionary;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shuwen.gcdj.bean.dictionary.request.DictionaryAddParam;
import com.shuwen.gcdj.bean.dictionary.request.DictionaryListParam;
import com.shuwen.gcdj.bean.dictionary.request.DictionaryMainParam;
import com.shuwen.gcdj.bean.dictionary.request.DictionaryUpdateParam;
import com.shuwen.gcdj.bean.dictionary.response.DictionaryDetailVO;
import com.shuwen.gcdj.bean.dictionary.response.DictionaryMainVO;
import com.shuwen.gcdj.common.api.CommonPage;
import com.shuwen.gcdj.common.api.CommonResult;
import com.shuwen.gcdj.dto.account.InitUserDto;
import com.shuwen.gcdj.entity.Dictionary;

import java.util.List;

public interface DictionaryService extends IService<Dictionary> {

    CommonPage<DictionaryMainVO> getPages(Page<Dictionary> page, DictionaryMainParam param);

    CommonResult<List<DictionaryDetailVO>> getList(DictionaryListParam param);

    CommonResult<DictionaryDetailVO> getDetail(String id);

    CommonResult<String> add(DictionaryAddParam param, InitUserDto req);

    CommonResult<String> update(DictionaryUpdateParam param, InitUserDto req);

    CommonResult<String> delete(String ids, InitUserDto req);
}
